home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 4 / PC World Interactive 4.iso / share / internet / LSMIRC61.EXE / malias.in_ / malias.in
INI File  |  1997-09-20  |  32KB  |  866 lines

  1. [aliases]
  2. n0=;
  3. n1=;   first 2 aliases go along with "nuke nabber", an external nuke catcher utility
  4. n2=;
  5. n3=nuke {
  6. n4=  if (%tvnuke [ $+ [ $1 ] ] ) || (%tvnuke [ $+ [ $2 ] ] ) halt
  7. n5=  set %tvnuke [ $+ [ $1 ] ] $true | .timer 1 5 unset %tvnuke [ $+ [ $1 ] ]
  8. n6=  set %tvnuke [ $+ [ $2 ] ] $true | .timer 1 5 unset %tvnuke [ $+ [ $2 ] ]
  9. n7=  echo 4 -s Port scan detected!
  10. n8=  if ($1 = 0) set %nukefound $scanchannel( [ *!*@ $+ [ $2 ] ] )
  11. n9=  else {
  12. n10=    set %nukefound $scanchannel( [ *!*@ $+ [ $1 ] ] )
  13. n11=    if ((%nukefound = $false) && ($2 != $null)) set %nukefound $scanchannel( [ *!*@ $+ [ $2 ] ] )
  14. n12=  }
  15. n13=  if (%nukefound = $false) {
  16. n14=    echo 4 -s Could not find this nuker on local channels
  17. n15=    who *!*@ $+ $1
  18. n16=  }
  19. n17=  unset %nuke*
  20. n18=}
  21. n19=scanchannel {
  22. n20=  echo 6 -s Scanning for address $1
  23. n21=  %i = 0 | set %nukematch $false
  24. n22=  :loopchans
  25. n23=  inc %i
  26. n24=  if $chan(%i) != $null {
  27. n25=    set %nukenum 0
  28. n26=    :nextnick
  29. n27=    inc %nukenum
  30. n28=    set %nukenick $ialchan($1,$chan(%i),%nukenum).nick
  31. n29=    if %nukenick != $null {
  32. n30=      set %nukematch $true
  33. n31=      echo 4 -s Found match: %nukenick on $chan(%i)
  34. n32=      if (($me isop $chan(%i)) && ($notop(%nukenick,$chan(%i)))) {
  35. n33=        mode $chan(%i) -o+b %nukenick $address(%nukenick,4)
  36. n34=        .timer 1 600 mode $chan(%i) -b $address(%nukenick,4)
  37. n35=        kick $chan(%i) %nukenick Stay off my ports!  (AutoNab from NukeNabber)
  38. n36=      }
  39. n37=      elseif ($me isop $chan(%i)) {
  40. n38=        if (%usespecific) echo 4 -s %nukenick is in your $wordlist($gl(%nukenick)) list on $chan(%i) $+ !
  41. n39=        else echo 4 -s %nukenick is in your $wordlist($gl(%nukenick)) list!
  42. n40=      }
  43. n41=      goto nextnick
  44. n42=    }
  45. n43=    goto loopchans
  46. n44=  }
  47. n45=  return %nukematch
  48. n46=}
  49. n47=;
  50. n48=;  miscellaneous stuff
  51. n49=;
  52. n50=portwin if $window(@Port_Listing) = $null window -an @Port_Listing 10 10 300 400
  53. n51=addport {
  54. n52=  portwin
  55. n53=  if $window(@Port_Listing).state = minimized aline -h @Port_Listing $1-
  56. n54=  else aline @Port_Listing $1-
  57. n55=}
  58. n56=getports {
  59. n57=  if ($1 = $null) { set %tvserver $server } | else { set %tvserver $1 }
  60. n58=  .enable #getports
  61. n59=  addport %dis10 $+ Ports for: %tvserver
  62. n60=  if ($1 = $null) { stats l } | else { stats l $1 }
  63. n61=  .timer 1 30 .disable #getports
  64. n62=}
  65. n63=apost {
  66. n64=  if ($right($1,1) = s) return $1 $+ '
  67. n65=  else return $1 $+ 's
  68. n66=}
  69. n67=findip {
  70. n68=  if $ial(*!*@ $+ $1,1).nick = $null {
  71. n69=    altech -a %dis10 $+ No match for $1 found, resolving...
  72. n70=    set %mip $1 | .enable #match | .disable #regdns | .dns *!*@ $+ $1
  73. n71=  }
  74. n72=  else altech -a %dis10 $+ Matched $1 to nick: $ial(*!*@ $+ $1).nick
  75. n73=}
  76. n74=time say The time is $realtime $day $+ , $adate
  77. n75=addignore {
  78. n76=  if $a2($1) != $null dde control $ddename $+ ignore ignore $1 $a3($1) $a4($1)
  79. n77=  else {
  80. n78=    echo 3 -a $1 is not in the internal address list, looking up info...
  81. n79=    set %addnick $1 | .enable #altignore | userhost $1   
  82. n80=  }
  83. n81=}
  84. n82=altech echo $1-
  85. n83=;
  86. n84=;  #mocklamer stuff
  87. n85=;
  88. n86=onmock if $me !ison #mocklamer { altech -a %dis10 $+ You're not on #MockLamer! | dh }
  89. n87=mock? onmock | msg #mocklamer |mocklamer request| $1-
  90. n88=mock onmock | .enable #verifylamer2 | set %mockee $1 | userhost $1
  91. n89=mockon join #mocklamer | set %mocklamer $true | altech -a %dis10 $+ LamerMocking enabled
  92. n90=mockoff set %mocklamer $false | altech -a %dis10 $+ LamerMocking disabled
  93. n91=;
  94. n92=;  aliases for the timed message creator...  these are all either called by the
  95. n93=;  timed message creator itself, or from the popups
  96. n94=;
  97. n95=stopmessage {
  98. n96=  if ($1 = Global) altech -a %dis10 $+ Halted timed global message
  99. n97=  else altech -a %dis10 $+ Halted timed message to $1-
  100. n98=}
  101. n99=remtimer {
  102. n100=  %p = 0
  103. n101=  :nx
  104. n102=  inc %p
  105. n103=  if %tmsg [ $+ [ %p ] ] = $1 {
  106. n104=    .timer $+ $calc(269 + %p) off
  107. n105=    %tmsg [ $+ [ %p ] ] = ""
  108. n106=  }     
  109. n107=  if %p < 10 goto nx
  110. n108=}
  111. n109=domsg {
  112. n110=  if (($1 = /msg) || ($1 = /describe)) {
  113. n111=    if (($left($2,1) = $chr(35)) && ($me !ison $2)) { altech -a %dis10 $+ Halting timed message to $2 (you're not there!) | remtimer $2 | dh }
  114. n112=    if $1 = /describe describe $2 $3-
  115. n113=    else msg $2 $3-
  116. n114=  }
  117. n115=  else $1-
  118. n116=}
  119. n117=createmessage {
  120. n118=  ; timed message of $2- to %who (%temp is the prefix) using delay $1
  121. n119=  %i = 0
  122. n120=  :nx
  123. n121=  inc %i
  124. n122=  if %tmsg [ $+ [ %i ] ] = $null {
  125. n123=    set %tmsg [ $+ [ %i ] ] %who
  126. n124=    .timer $+ $calc(269 + %i) 0 $1 domsg %temp $2-
  127. n125=  }
  128. n126=  else {
  129. n127=    if %i = 10 { altech -a %dis10 $+ Sorry, you already have 10 timed messages going :( | dh }
  130. n128=    goto nx
  131. n129=  }
  132. n130=  domsg %temp $2-
  133. n131=}
  134. n132=timedmsg {
  135. n133=  if $1 = msg {
  136. n134=    if $2 = all { set %temp /amsg | set %who Global ( $+ $left($4-,10) $+ ) }
  137. n135=    else set { %temp /msg $2 | set %who $2 }
  138. n136=  }
  139. n137=  else {
  140. n138=    if $2 = all { set %temp /ame | set %who Global Message }
  141. n139=    else { set %temp /describe $2 | set %who $2 }
  142. n140=  }
  143. n141=  createmessage $3 $4-
  144. n142=}
  145. n143=;
  146. n144=;  telnet, used to connect to a bot
  147. n145=;
  148. n146=telnet {
  149. n147=  if %port [ $+ [ $1 ] ] = $null { altech -a %dis10 $+ Could not find port entry for $1 $+ ! | dg }
  150. n148=  raw -q PRIVMSG $me : $+ $chr(1) $+ dcc chat chat $longip($2) %port [ $+ [ $1 ] ] $+ $chr(1)
  151. n149=  unset %port [ $+ [ $1 ] ]
  152. n150=}
  153. n151=addapp {
  154. n152=  ; this one is called by an external program
  155. n153=  %i = 0
  156. n154=  :nx2
  157. n155=  inc %i
  158. n156=  if %app [ $+ [ %i ] ] = $1 { altech -a %dis10 $+ An app with the name $1 is already in the menu! | dh }
  159. n157=  if %i < 24 goto nx2
  160. n158=  %i = 0
  161. n159=  :nx
  162. n160=  inc %i
  163. n161=  if %app [ $+ [ %i ] ] = $null { 
  164. n162=    set %app [ $+ [ %i ] ] $1 | set %appexe [ $+ [ %i ] ] $2-
  165. n163=    altech -a %dis10 $+ Added $1 to Run Applications popups
  166. n164=    dh
  167. n165=  }
  168. n166=  if %i < 24 goto nx
  169. n167=  altech -a %dis10 $+ Maximum number of additions (24) already obtained! | alert
  170. n168=}
  171. n169=;
  172. n170=;         encryption handling 
  173. n171=;         can't change much here either.... it's all done inside an external app
  174. n172=;
  175. n173=enc dde control $ddename crypt $1 $+ @ $+ $2 $+ @ $+ $3-
  176. n174=lsay enc none say $strip($1-)
  177. n175=lme enc none me $strip($1-)
  178. n176=esay say $1- $+ 4 $+ $str(200,!)
  179. n177=;
  180. n178=;        various text routines
  181. n179=;
  182. n180=rsay say $rc($1-)
  183. n181=rme me $rc($1-)
  184. n182=rbsay say  $+ $rc($1-)
  185. n183=rbme me  $+ $rc($1-)
  186. n184=wt {
  187. n185=  %wt = $replace($1-,a,σ) | %wt = $replace(%wt,b,▀) | %wt = $replace(%wt,c,⌐)
  188. n186=  %wt = $replace(%wt,d,╨) | %wt = $replace(%wt,e,Ω) | %wt = $replace(%wt,f,f)
  189. n187=  %wt = $replace(%wt,g,g) | %wt = $replace(%wt,h,h) | %wt = $replace(%wt,i,∩)
  190. n188=  %wt = $replace(%wt,j,j) | %wt = $replace(%wt,k,K) | %wt = $replace(%wt,l,ú)
  191. n189=  %wt = $replace(%wt,m,m) | %wt = $replace(%wt,n,±) | %wt = $replace(%wt,o,≡)
  192. n190=  %wt = $replace(%wt,p,■) | %wt = $replace(%wt,q,q) | %wt = $replace(%wt,r,«)
  193. n191=  %wt = $replace(%wt,s,º) | %wt = $replace(%wt,t,t) | %wt = $replace(%wt,u,ⁿ)
  194. n192=  %wt = $replace(%wt,v,v) | %wt = $replace(%wt,w,W) | %wt = $replace(%wt,x,╫)
  195. n193=  return $replace(%wt,y,Ñ)
  196. n194=}
  197. n195=wcsay wsay $rc($1-)
  198. n196=wcme wme $rc($1-)
  199. n197=wsay say $wt($1-)
  200. n198=wme me $wt($1-)
  201. n199=stripetext {
  202. n200=  %text = $replace($3-,$chr(32),$chr(1))
  203. n201=  set %temp $r(1,2)
  204. n202=  if %temp = 1 { set %color1 $1 | set %color2 $2 }
  205. n203=  else { set %color1 $2 | set %color2 $1 }
  206. n204=  %temp = "" | %i = 0
  207. n205=  :nx
  208. n206=  inc %i
  209. n207=  set %temp %temp $+  $+ %color1 $+ , $+ %color2 $+ $mid(%text,%i,1)
  210. n208=  if %color1 = $1 { set %color1 $2 | set %color2 $1 }
  211. n209=  else { set %color1 $1 | set %color2 $2 }
  212. n210=  if %i < $len(%text) goto nx
  213. n211=  return $replace(%temp,$chr(1),$chr(32))
  214. n212=}
  215. n213=rinsult return $readini $mircdirtxt\insult.txt first [ n $+ [ $r(0,39) ] ] $readini $mircdirtxt\insult.txt second [ n $+ [ $r(0,30) ] ] of $readini $mircdirtxt\insult.txt third [ n $+ [ $r(0,42) ] ] 
  216. n214=rchannels {
  217. n215=  %chans = "" | %i = 0
  218. n216=  set %count $r(3,9)
  219. n217=  :nx
  220. n218=  inc %i
  221. n219=  set %num $r(0,76)
  222. n220=  if (%tvused [ $+ [ %num ] ] ) goto nx
  223. n221=  set %tvused [ $+ [ %num ] ] $true
  224. n222=  %chans = %chans $readini $mircdirmisc.ini Channels [ n $+ [ %num ] ]
  225. n223=  if %i < %count goto nx
  226. n224=  unset %tvused*
  227. n225=  return %chans 
  228. n226=}
  229. n227=insult say $1 $+ , you are a $rinsult
  230. n228=insult2 say $1 $+ , $readini $mircdirtxt\insult.txt first [ n $+ [ $r(40,193) ] ] 
  231. n229=notcode {
  232. n230=  if $1 isnum 0-15 return $false
  233. n231=  return $true
  234. n232=}
  235. n233=repeat {
  236. n234=  set %text $1- $+ $chr(1)
  237. n235=  set %text $replace(%text,$chr(32),$chr(1))
  238. n236=  set %text $str(%text,50)
  239. n237=  say $replace(%text,$chr(1),$chr(32))
  240. n238=}
  241. n239=shadow {
  242. n240=  ;      first 3 lines are a bit strange due to an error in mIRC handing "else" 
  243. n241=  ;      with the "isnum" operator
  244. n242=  unset %color
  245. n243=  if ($1 isnum 0-15) { set %color $1 | set %text $2- }
  246. n244=  if %color = $null { set %color 4 | set %text $1- }
  247. n245=  say  $+ %color $+ , $+ %color $str(,$calc($len(%text) + 1))
  248. n246=  say 0, $+ %color %text  1,1
  249. n247=  say  $+ %color $+ , $+ %color $str(,$calc($len(%text) + 1)) $+ 1,1
  250. n248=  say 0,0 1,1 $str(,$calc($len(%text) + 1))
  251. n249=}
  252. n250=ssay {
  253. n251=  if ($notcode($1)) say $stripetext(4,1,$1-)
  254. n252=  elseif ($notcode($2)) say $stripetext($1,1,$2-)
  255. n253=  else say $stripetext($1,$2,$3-)
  256. n254=}
  257. n255=sme {
  258. n256=  if ($notcode($1)) me $stripetext(4,1,$1-)
  259. n257=  elseif ($notcode($2)) me $stripetext($1,1,$2-)
  260. n258=  else me $stripetext($1,$2,$3-)
  261. n259=}
  262. n260=backwards {
  263. n261=  %text = $replace($1-,$chr(32),$chr(1))
  264. n262=  %temp = "" | set %i $len(%text)
  265. n263=  :nx
  266. n264=  %temp = %temp $+ $mid(%text,%i,1)
  267. n265=  dec %i
  268. n266=  if %i > 0 goto nx
  269. n267=  return $replace(%temp,$chr(1),$chr(32))
  270. n268=}
  271. n269=bsay say $backwards($1-)
  272. n270=bn {
  273. n271=  if # = $null { altech -a %dis10 $+ The /bn commands works only from a channel window! | dh }
  274. n272=  notice # $backwards($1-)
  275. n273=}
  276. n274=bme me $backwards($1-)
  277. n275=rc {
  278. n276=  %t = 0 | %cms = "" | %a = $replace($1-,$chr(32),$chr(1))
  279. n277=  :nx
  280. n278=  inc %t
  281. n279=  set %cms %cms $+  $+ $r(1,15) $+ ,00 $+ $mid(%a,%t,1)
  282. n280=  if %t < $len($1-) goto nx
  283. n281=  return $replace(%cms,$chr(1),$chr(32)) $+ 1,0
  284. n282=}
  285. n283=ding splay $mircdirding.wav
  286. n284=dh ding | halt
  287. n285=alert if (%salert = ding) ding
  288. n286=playascii play -t $+ $1 $mircdirtxt\ascii.txt 1500
  289. n287=ro return $readini $mircdiroptions\options.ini $1 $2
  290. n288=reply raw -q notice $1 : $+ $2- $+ 
  291. n289=tignore {
  292. n290=  ; temp ignore that doesn't echo
  293. n291=  ; $1 is ignore type, $2 is time in seconds, $3 is mask to ignore
  294. n292=  .ignore - $+ $1 $3 | .timer 1 $2 .ignore -r $3
  295. n293=}
  296. n294=;
  297. n295=;       misc. aliases that can be used by the user (also used by the scripts)
  298. n296=;
  299. n297=massinvite .enable #invitenames | set %chan $2 | names $1
  300. n298=swhois {
  301. n299=  inc %donewhois
  302. n300=  .enable #aww
  303. n301=  if undernet isin $server whois $1
  304. n302=  else whois $1 $1
  305. n303=}
  306. n304=autowhois {
  307. n305=  if (%tvdw [ $+ [ $a2($1) ] ] != $true) {
  308. n306=    set %tvdw [ $+ [ $a2($1) ] ] $true
  309. n307=    .timer 1 30 unset %tvdw [ $+ [ $a2($1) ] ]
  310. n308=    if undernet isin $server whois $1
  311. n309=    else whois $1 $1
  312. n310=  }
  313. n311=}
  314. n312=q query $1
  315. n313=swho .disable #nw | .enable #allwho | set %fwho $1- | set %fwht 0 | who $1-
  316. n314=vn ctcp $1 version
  317. n315=u ctcp $1 userinfo
  318. n316=t ctcp $1 time
  319. n317=c ctcp $1 clientinfo
  320. n318=send dcc send $1 $2
  321. n319=chat dcc chat $1
  322. n320=ping ctcp $1 ping
  323. n321=joinchannel {
  324. n322=  set %chan $$?="Enter channel"
  325. n323=  if $left(%chan,1) != $chr(35) set %chan $chr(35) $+ %chan
  326. n324=  join %chan
  327. n325=}
  328. n326=join {
  329. n327=  if $1 = $null { joinchannel | halt }
  330. n328=  join $1 $2 $3 $4 $5 $6 $7 $8 $9 $10
  331. n329=  %i = 0
  332. n330=  :nx
  333. n331=  inc %i
  334. n332=  set %chan [ $ $+ [ %i ] ]
  335. n333=  if %chan != $null {
  336. n334=    if $left(%chan,1) = $chr(35) set %ticks [ $+ [ %chan ] ] $ticks
  337. n335=    goto nx
  338. n336=  }
  339. n337=}
  340. n338=j join #$1 #$2 #$3 #$4 #$5 #$6 #$7 #$8 #$9 #$10
  341. n339=topic {
  342. n340=  if ((+t isin $chan($1).mode) && ($me !isop $1)) { altech -a %dis10 $+ Sorry, $1 is +t and you are not opped | altech -a %dis10 $+ You cannot change the topic :( | dh }
  343. n341=  else topic $1 $2-
  344. n342=}
  345. n343=p part #
  346. n344=w {
  347. n345=  if $pos($active,Status Window) = 1 { 
  348. n346=    if undernet isin $server whois $1
  349. n347=    else whois $1 $1
  350. n348=  }
  351. n349=  else swhois $1
  352. n350=}
  353. n351=wm {
  354. n352=  %i = 0
  355. n353=  :nx
  356. n354=  inc %i
  357. n355=  set %nick [ $ $+ [ %i ] ]
  358. n356=  if %nick != $null {
  359. n357=    if $undernet isin $server whois %nick
  360. n358=    else whois %nick %nick
  361. n359=    goto nx
  362. n360=  }
  363. n361=}
  364. n362=wall wallops $1-
  365. n363=amsg {
  366. n364=  %k = 0
  367. n365=  :nx
  368. n366=  inc %k
  369. n367=  if $chan(%k) != $null { msg $chan(%k) $1- | goto nx }
  370. n368=}
  371. n369=pn notice $1 Private Notice: $2-
  372. n370=invite {
  373. n371=  if $1 != $null invite $1-
  374. n372=  else {
  375. n373=    if # = $null { altech -a %dis10 $+ Syntax: /invite <nick> <channel>, or /invite <nick> if typed from a channel window | dh }
  376. n374=    elseif ($1 = $null) invite $$?="Enter nick to invite" #
  377. n375=    else invite $1 #
  378. n376=  }
  379. n377=}
  380. n378=n notice $1 $2-
  381. n379=;        hmmmm.... wonder how many scripts the next few aliases will wind up in
  382. n380=;        this is original by me!
  383. n381=;        these /op, /deop, /kick, /v, etc. aliases will work on any number of
  384. n382=;        nicks (i.e. /op nick1 nick2 nick3 nick4 nick5 nick6, and will not exceed
  385. n383=;        the number of mode changes per line you set in the options program
  386. n384=op {
  387. n385=  amiopped #
  388. n386=  %i = 0
  389. n387=  %nicks = ""
  390. n388=  :nx
  391. n389=  inc %i
  392. n390=  set %nick [ $ $+ [ %i ] ]
  393. n391=  if (%nick = $null) { if $len(%nicks) > 0 mode # +oooo %nicks | halt }
  394. n392=  set %nicks %nicks %nick
  395. n393=  if %maxmodes // %i { mode # +oooo %nicks | %nicks = "" }
  396. n394=  goto nx
  397. n395=}
  398. n396=deop {
  399. n397=  amiopped #
  400. n398=  %i = 0
  401. n399=  %nicks = ""
  402. n400=  :nx
  403. n401=  inc %i
  404. n402=  set %nick [ $ $+ [ %i ] ]
  405. n403=  if (%nick = $null) { if $len(%nicks) > 0 mode # -oooo %nicks | halt }
  406. n404=  set %nicks %nicks %nick
  407. n405=  if %maxmodes // %i { mode # -oooo %nicks | %nicks = "" }
  408. n406=  goto nx
  409. n407=}
  410. n408=v {
  411. n409=  amiopped #
  412. n410=  %i = 0
  413. n411=  %nicks = ""
  414. n412=  :nx
  415. n413=  inc %i
  416. n414=  set %nick [ $ $+ [ %i ] ]
  417. n415=  if (%nick = $null) { if $len(%nicks) > 0 mode # +vvvv %nicks | halt }
  418. n416=  set %nicks %nicks %nick
  419. n417=  if %maxmodes // %i { mode # +vvvv %nicks | %nicks = "" }
  420. n418=  goto nx
  421. n419=}
  422. n420=dv {
  423. n421=  amiopped #
  424. n422=  %i = 0
  425. n423=  %nicks = ""
  426. n424=  :nx
  427. n425=  inc %i
  428. n426=  set %nick [ $ $+ [ %i ] ]
  429. n427=  if (%nick = $null) { if $len(%nicks) > 0 mode # -vvvv %nicks | halt }
  430. n428=  set %nicks %nicks %nick
  431. n429=  if %maxmodes // %i { mode # -vvvv %nicks | %nicks = "" }
  432. n430=  goto nx
  433. n431=}
  434. n432=s {
  435. n433=  if # = $null { altech -a %dis10 $+ /s to sound only works when the active window is a channel window! | dh }
  436. n434=  if ($right($1,4) = .wav) { ctcp # SOUND $1 $2- | splay $1 }
  437. n435=  else { ctcp # SOUND $1 $+ .wav $2- | splay $1 $+ .wav }
  438. n436=}
  439. n437=k {
  440. n438=  amiopped #
  441. n439=  altech # 3ok, done
  442. n440=  %i = 0
  443. n441=  :nx
  444. n442=  inc %i
  445. n443=  set %nick [ $ $+ [ %i ] ]
  446. n444=  if %nick != $null { kick # %nick %kickmsg | goto nx }
  447. n445=}
  448. n446=kr {
  449. n447=  amiopped #
  450. n448=  if $2 = $null set %reason %kickmsg
  451. n449=  else set %reason $2-
  452. n450=  if $1 ison # { altech # 3ok, done | kick # $1 %reason }
  453. n451=  else altech -a %dis10 $+ $1 is not on # $+ !
  454. n452=}
  455. n453=server {
  456. n454=  if $1 = $null {
  457. n455=    if $server = $null {
  458. n456=      if ((%server = $null) || (%sport = $null)) dde control $ddename $+ connect showlist $null
  459. n457=      else dde control $ddename $+ connect showlist %server $+ : $+ %sport
  460. n458=    }
  461. n459=    else dde control $ddename $+ connect showlist $server $+ : $+ $port
  462. n460=  }
  463. n461=  else { if $server != $null quit Changing Servers | server $1- }
  464. n462=}
  465. n463=;
  466. n464=;        function key definitions
  467. n465=;
  468. n466=F2 {
  469. n467=  if ($away) dde control $ddename $+ away showyourself back
  470. n468=  else dde control $ddename $+ away showyourself away
  471. n469=}
  472. n470=F3 {
  473. n471=  if # = $null { altech -a %dis10 $+ F3 to ban the last to leave only works when the active window is a channel window! | dh }
  474. n472=  amiopped #
  475. n473=  if %lastpart [ $+ [ # ] ] = $null { altech -a %dis10 $+ I don't know who last parted # $+ ! | dh }
  476. n474=  altech -a 3ok, done | mode # +b %lastpart [ $+ [ # ] ]
  477. n475=  rtb %lastpart [ $+ [ # ] ] #
  478. n476=}
  479. n477=F4 {
  480. n478=  if # = $null { altech -a %dis10 $+ The F4 to /onotice only works when the active window is a channel window! | dh }
  481. n479=  onotice $$?="Enter message"
  482. n480=}
  483. n481=F5 .timer925 off | .ignore -r *!*@* | altech -a %dis10 $+ Total ignore is OFF | alert
  484. n482=F6 .ignore -tcpni *!*@* | altech -a %dis10 $+ Total Ignore is on.  Press F5 to turn it off. | .timer925 0 60 altech -s %dis10 $+ Total Ignore is on.  Press F5 to turn it off. | alert
  485. n483=F7 {
  486. n484=  ckserv
  487. n485=  if %icmpnick = $null { altech -a %dis10 $+ There is no nick set for ICMP revenge! | dh }
  488. n486=  icmp %icmpnick
  489. n487=}
  490. n488=F8 ckserv | deopall #
  491. n489=F9 {
  492. n490=  ckserv
  493. n491=  if # = $null { altech -a %dis10 $+ F9 only works while you are on a channel! | alert }
  494. n492=  kickban $a3($$1) # | rtb $a3($$1) #
  495. n493=}
  496. n494=F10 {
  497. n495=  if (%urd) altech -a %dis10 $+ Unix terminal emulation is already enabled!
  498. n496=  else { set %urd $true | z | altech -a %dis10 $+ Unix terminal emulation enabled }
  499. n497=  alert
  500. n498=}
  501. n499=SF3 {
  502. n500=  if (%vote) { unset %vote* | .timer993 off | altech -a %dis10 $+ Vote cancelled! }
  503. n501=  else altech -a %dis10 $+ There is no vote in progress!
  504. n502=  alert
  505. n503=}
  506. n504=SF4 {
  507. n505=  if # = $null { altech -a %dis10 $+ Shift-F4 to send a channel message only works when the active windows is a channel window! | dh }
  508. n506=  msg # $$?="Enter channel message"
  509. n507=}
  510. n508=SF9 {
  511. n509=  if # = $null { altech -a %dis10 $+ Shift F9 to ping only works when the active window is a channel window! | dh }
  512. n510=  ctcp # PING
  513. n511=}
  514. n512=SF1 {
  515. n513=  if %tvmip = $null { altech -a %dis10 $+ There is no address set to look up! | dh }
  516. n514=  altech -a %dis10 $+ Looking up %tvmip (there may not be any matches!)
  517. n515=  who %tvmip
  518. n516=  .timer 1 120 unset %tvmip
  519. n517=}
  520. n518=SF2 {
  521. n519=  if %tvgetports = $null { altech -a %dis10 $+ There is no server set to look up ports on! | dh }
  522. n520=  altech -a %dis10 $+ Attempting cross-server port list (this may give strange results!)
  523. n521=  getports %tvgetports
  524. n522=}
  525. n523=SF5 {
  526. n524=  ckserv
  527. n525=  if %ivn = $null { altech -a %dis10 $+ There is no nick set for the invite kick! | dh }
  528. n526=  if %iva = $null { altech -a %dis10 $+ I don't know the address for %ivn :( | dh }
  529. n527=  kickbanall %iva %invitemsg
  530. n528=}
  531. n529=SF6 {
  532. n530=  ckserv
  533. n531=  if %inv = $null { altech -a %dis10 $+ There is no channel set to join! | dh }
  534. n532=  join %inv
  535. n533=}
  536. n534=SF8 ckserv | mkick # all
  537. n535=SF10 {
  538. n536=  if (%urd) { set %urd $false | close -m $me | altech -a %dis10 $+ Unix terminal emulation disabled }
  539. n537=  else altech -a %dis10 $+ Unix terminal emulation is not active!
  540. n538=  alert
  541. n539=}
  542. n540=realtime {
  543. n541=  set %hour $left($time,$calc($pos($time,:) - 1))
  544. n542=  set %minute $mid($time,$calc($pos($time,:) + 1),2)
  545. n543=  if %hour = 00 return 12: $+ %minute AM
  546. n544=  if %hour = 12 return 12: $+ %minute PM
  547. n545=  if %hour > 12 { dec %hour 12 | return %hour $+ : $+ %minute PM }
  548. n546=  else return %hour $+ : $+ %minute AM
  549. n547=}
  550. n548=;
  551. n549=;              away stuff
  552. n550=;
  553. n551=setawaywithnick {
  554. n552=  set %tvawaynick $1 | set %awayreason $2-
  555. n553=  set %tvsettingaway $true
  556. n554=  nick $1
  557. n555=}
  558. n556=setaway {
  559. n557=  ckserv
  560. n558=  if %tvawaynick = $null set %tvawaynick $me
  561. n559=  if $away = $false remini $mircdirmisc.ini away
  562. n560=  .enable #Away | set %amsg $1-
  563. n561=  if $1- = %autoawaymsg set %autoset $true
  564. n562=  else set %autoset $false
  565. n563=  set %temp is away:  $1- 6(rec: $+ $chr(32)
  566. n564=  if (%awaylog) set %temp %temp ON
  567. n565=  else set %temp %temp OFF
  568. n566=  if (%pager) { set %temp %temp  pager: ON)  To summon me, type /CTCP %tvawaynick PAGE | .enable #page }
  569. n567=  else set %temp %temp  pager: OFF)
  570. n568=  if (%noawaycolor) {
  571. n569=    set %temp $strip(%temp)
  572. n570=    away Since $realtime $+ , $day $adate ( $+ $strip($1-) $+ )
  573. n571=  }
  574. n572=  else away Since $realtime $+ , $day $adate ( $+ $1- $+ )
  575. n573=  .timer974 off
  576. n574=  if $chan(0) != 0 ame %temp
  577. n575=  set %since $ctime
  578. n576=  if (%msgaway) { %msgawaydelay = %msgawaydelay * 60 | .timer974 0 %msgawaydelay sa }
  579. n577=}
  580. n578=setback {
  581. n579=  ckserv | .timer974 off
  582. n580=  if ($away) { away | altech -a 3Telling the server you are no longer away... }
  583. n581=  else { altech -a %dis10 $+ You are not marked away! | dh }
  584. n582=}
  585. n583=aa if ($away = $false) setaway %autoawaymsg
  586. n584=autoaway .timer75 1 900 aa
  587. n585=;
  588. n586=;        channel vote
  589. n587=;        Most of these aliases are called by an external program
  590. n588=;
  591. n589=chanvote {
  592. n590=  altech -a %dis10 $+ Beginning vote on $1 | altech -a 3Press Shift-F3 at any time to cancel it
  593. n591=  if $me !ison $1 { altech -a %dis10 $+ You are not on $1 $+ ! | altech -a 3Procedure Abored! | dh }
  594. n592=  %time = $2 / 60 | set %voteon $3- | set %vote $true | set %votechan $1
  595. n593=  %voteyes = 0 | %voteno = 0
  596. n594=  .timer993 1 $2 endvote
  597. n595=  if (%votecolor) {
  598. n596=    msg $1 0,0áááá
  599. n597=    describe $1 voting booths are now open
  600. n598=    .timer 1 1 msg $1 0,0áááá
  601. n599=    .timer 1 2 msg $1 2,0áááThe Question:12,0 $3-
  602. n600=    .timer 1 3 msg $1 0,0áááá
  603. n601=    if %time = 1 .timer 1 4 msg $1 4,0áááVotes will be taken for 1 minute
  604. n602=    else .timer 1 4 msg $1 4,0áááVotes will be taken for %time minutes
  605. n603=    if %votetype = 0 .timer 1 5 msg $1 2,0áááThis vote is for anyone (ops and non-ops) 
  606. n604=    elseif %votetype = 1 .timer 1 5 msg $1 2,0áááThis vote is for anyone who is currently opped
  607. n605=    elseif %votetype = 2 .timer 1 5 msg $1 2,0áááThis vote is for anyone in my op list
  608. n606=    elseif %votetype = 3 .timer 1 5 msg $1 2,0áááThis vote is for anyone opped or in my op list
  609. n607=    .timer 1 6 msg $1 0,0áááá
  610. n608=    .timer 1 7 msg $1 2,0áááTo place a vote, 12,0/CTCP $me YES or NO
  611. n609=  }
  612. n610=  else {
  613. n611=    describe $1 voting booths are now open
  614. n612=    .timer 1 1 msg $1 The Question: $3-
  615. n613=    if %time = 1 .timer 1 2 msg $1 Votes will be taken for 1 minute
  616. n614=    else .timer 1 2 msg $1 Votes will be taken for %time minutes
  617. n615=    if %votetype = 0 .timer 1 3 msg $1 This vote is for anyone (ops and non-ops) 
  618. n616=    elseif %votetype = 1 .timer 1 3 msg $1 This vote is for anyone who is currently opped
  619. n617=    elseif %votetype = 2 .timer 1 3 msg $1 This vote is for anyone in my op list
  620. n618=    elseif %votetype = 3 .timer 1 3 msg $1 This vote is for anyone opped or in my op list
  621. n619=    .timer 1 4 msg $1 To place a vote, /CTCP $me YES or NO
  622. n620=  }
  623. n621=}
  624. n622=endvote {
  625. n623=  %votetotal = %voteyes + %voteno
  626. n624=  if %votetotal = 0 {
  627. n625=    %votepertotal = 0
  628. n626=    %voteyesper = 0
  629. n627=    %votenoper = 0
  630. n628=  }
  631. n629=  else {
  632. n630=    if %voteyes = 0 set %voteyesper 0
  633. n631=    else %voteyesper = $calc((%voteyes / %votetotal) * 100)
  634. n632=    if %voteno = 0 set %votenoper 0
  635. n633=    else %votenoper = $calc((%voteno / %votetotal) * 100)
  636. n634=    %votepertotal = $calc((%votepossible / %votetotal) * 100)
  637. n635=  }
  638. n636=  if %votetype = 0 set %votepossible $nick(%votechan,0) 
  639. n637=  elseif %votetype = 1 set %votepossible $opnick(%votechan,0)
  640. n638=  elseif %votetype = 2 set %votepossible $knownops(%votechan,0)
  641. n639=  elseif %votetype = 3 set %votepossible $knownops(%votechan,1)
  642. n640=  if %votepossible = 0 set %votepertotal 0
  643. n641=  describe %votechan voting booths are now closed
  644. n642=  if (%votecolor) {
  645. n643=    .timer 1 1 msg %votechan 0,0áááá
  646. n644=    .timer 1 2 msg %votechan 2,0áááThe Question was:12,0 %voteon
  647. n645=    .timer 1 3 msg %votechan 0,0áááá
  648. n646=    .timer 1 4 msg %votechan 2,0áááPossible Votes:12,0 %votepossible
  649. n647=    .timer 1 5 msg %votechan 2,0áá Votes Received:12,0 %votetotal ( $+ %votepertotal $+ [ % ] $+ )
  650. n648=    .timer 1 6 msg %votechan 0,0áááá
  651. n649=    .timer 1 7 msg %votechan 2,0áááResults:12,0 %voteyes ( $+ %voteyesper $+ [ % ] $+ ) said Yes, %voteno ( $+ %votenoper $+ [ % ] $+ ) said No
  652. n650=  }
  653. n651=  else {
  654. n652=    .timer 1 1 msg %votechan The Question was: %voteon
  655. n653=    .timer 1 2 msg %votechan Possible Votes: %votepossible
  656. n654=    .timer 1 3 msg %votechan Votes Received: %votetotal ( $+ %votepertotal $+ [ % ] $+ )
  657. n655=    .timer 1 4 msg %votechan Results: %voteyes ( $+ %voteyesper $+ [ % ] $+ ) said Yes, %voteno ( $+ %votenoper $+ [ % ] $+ ) said No
  658. n656=  }
  659. n657=  unset %vote*
  660. n658=}
  661. n659=;
  662. n660=;        misc. aliases (mostly just support for other routines)
  663. n661=;
  664. n662=alwaysjoin {
  665. n663=  %c = 0
  666. n664=  :nx
  667. n665=  inc %c
  668. n666=  if %alwaysjoin [ $+ [ %c ] ] != $null {
  669. n667=    if $me !ison %alwaysjoin [ $+ [ %c ] ] join %alwaysjoin [ $+ [ %c ] ]
  670. n668=    goto nx
  671. n669=  }
  672. n670=}
  673. n671=multictcp {
  674. n672=  %i = 0
  675. n673=  :nx
  676. n674=  inc %i | if $snick($1,%i) != $null { ctcp $snick($1,%i) *2 | goto nx }
  677. n675=}
  678. n676=color dde color $ddename $+ color showthouself please
  679. n677=botlog if (%botlog) write $logdirbotlite.log $realtime $+ , $day $adate $1-
  680. n678=rp set %dur $replace(%dur,$1,$2-)
  681. n679=dur {
  682. n680=  set %dur $duration($calc($ctime - $1))
  683. n681=  rp hrs hours | rp 1hr 1 hour | rp secs seconds |  rp 1sec 1 second | rp mins minutes
  684. n682=  rp 1min 1 minute | rp wks weeks | rp 1wk 1 week | rp days days | rp 1day 1 day
  685. n683=  return $replace(%dur,,$chr(32))
  686. n684=}
  687. n685=dur2 {
  688. n686=  set %dur $duration($1)
  689. n687=  rp hrs hours | rp 1hr 1 hour | rp secs seconds |  rp 1sec 1 second | rp mins minutes
  690. n688=  rp 1min 1 minute | rp wks weeks | rp 1wk 1 week | rp days days | rp 1day 1 day
  691. n689=  return $replace(%dur,,$chr(32))
  692. n690=}
  693. n691=onotice onotice [Ops on # $+ ] $1-
  694. n692=cm {
  695. n693=  if # = $null { altech -a %dis10 $+ /cm to send a channel message only works while you are on a channel! | dh }
  696. n694=  else msg # $1-
  697. n695=}
  698. n696=amiopped if ($me !isop $1) { altech -a %dis10 $+ You are not opped on $1 $+ ! | dh }
  699. n697=ckserv if $server = $null { altech -a %dis10 $+ You are not connected to a server! | dh }
  700. n698=allnicks {
  701. n699=  %nicks = "" | %i = 0
  702. n700=  :nx
  703. n701=  inc %i
  704. n702=  if $snick($1,%i) != $null { %nicks = %nicks $snick($1,%i) | goto nx }
  705. n703=  return %nicks
  706. n704=}
  707. n705=ak {
  708. n706=  amiopped $1
  709. n707=  set %chan $1 | set %tn $2 | $readini $mircdirmisc.ini kicks $3
  710. n708=}
  711. n709=sa ame is AWAY: %amsg (away $dur(%since) $+ )
  712. n710=ic if ($chat($1) = $null) { altech -a %dis10 $+ I don't think $1 is an eggdrop! | dh }
  713. n711=isnum {
  714. n712=  %k = 0
  715. n713=  :nx
  716. n714=  inc %k
  717. n715=  if $mid($1,%k,1) isnum 0-9 goto skip
  718. n716=  return $false
  719. n717=  :skip
  720. n718=  if %k < $len($1) goto nx  
  721. n719=  return $true
  722. n720=}
  723. n721=ptb mode $3 -o+b $1 $2 | rtb $2 $3
  724. n722=rtb .timer 1 %bantime if ($me isop $2) mode $2 -b $1
  725. n723=tgn {
  726. n724=  if $me = %mynick .timer930 off
  727. n725=  else nick %mynick
  728. n726=}
  729. n727=cnick set %dontcare $true | .timer931 1 10 unset %dontcare | nick $1
  730. n728=getnick nick %mynick | .timer930 0 30 tgn
  731. n729=chpd if ((%nspd = NickPass) || (%nspd = $null)) { altech -a %dis10 $+ You have not set a NickServ password! | dh }
  732. n730=chcpd if ((%cspd = ChanPass) || (%cspd = $null)) { altech -a %dis10 $+ You have not set a ChanServ password! | dh }
  733. n731=sk kick # $1 %kickmsg
  734. n732=skb kick # $1 %kickbanmsg
  735. n733=tk .timer 1 3 kick $2 $1 $3-
  736. n734=kickban {
  737. n735=  set %prefix - | %i = 0 | %change = "" | %nummode = 0 | %nicks = ""
  738. n736=  :nx
  739. n737=  inc %i
  740. n738=  set %nick $ialchan($1,$2,%i).nick
  741. n739=  if $ialchan($1,$2,%i).nick != $null {
  742. n740=    set %prefix %prefix $+ o | %change = %change %nick
  743. n741=    inc %nummode | set %nicks %nicks $+ %nick $+ $chr(1)
  744. n742=    if (%maxmodes // %nummode) {
  745. n743=      mode $2 %prefix %change
  746. n744=      set %prefix - | %change = ""
  747. n745=    }
  748. n746=    goto nx
  749. n747=  }
  750. n748=  %prefix = %prefix $+ +b | %change = %change $1
  751. n749=  mode $2 %prefix %change
  752. n750=  if $3 = $null set %reason %kickbanmsg
  753. n751=  else set %reason $3-
  754. n752=  %i = 0
  755. n753=  :kick
  756. n754=  set %pos $calc($pos(%nicks,$chr(1)) - 1)
  757. n755=  set %thisnick $left(%nicks,%pos)
  758. n756=  set %nicks $right(%nicks,$calc($len(%nicks) - %pos - 1))
  759. n757=  if %thisnick != $null {
  760. n758=    kick $2 %thisnick %reason
  761. n759=    goto kick
  762. n760=  }
  763. n761=}
  764. n762=adeop {
  765. n763=  ; deop all people that match address $1 from channel $2
  766. n764=  %n = 0
  767. n765=  :nx
  768. n766=  inc %n
  769. n767=  if $ialchan($1,$2,%n) != $null {
  770. n768=    mode $2 -o $ialchan($1,$2,%n).nick
  771. n769=    goto nx
  772. n770=  }
  773. n771=}
  774. n772=kickall {
  775. n773=  ; kick everyone who matches address $1 from channel $2 using reason $3
  776. n774=  %n = 0
  777. n775=  :nx
  778. n776=  inc %n
  779. n777=  if $ialchan($1,$2,%n) != $null {
  780. n778=    kick $2 $ialchan($1,$2,%n).nick $3-
  781. n779=    goto nx
  782. n780=  }
  783. n781=}
  784. n782=kickbanall {
  785. n783=  ; kick-ban everyone who matches address $1 from channel $2 using reason $3
  786. n784=  %n = 0
  787. n785=  :nx
  788. n786=  inc %n
  789. n787=  if $ialchan($1,$2,%n) != $null {
  790. n788=    if (%tvdidban [ $+ [ $1 ] ] != $true) { mode $2 +b $1 | rtb $1 $2 | set %tvdidban [ $+ [ $1 ] ] $true }
  791. n789=    kick $2 $ialchan($1,$2,%n).nick $3-
  792. n790=    goto nx
  793. n791=  }
  794. n792=  unset %tvdidban*
  795. n793=}
  796. n794=gkick {
  797. n795=  ; given a nick, kick anyone who matches the address from all channels I'm opped on using reason $2-
  798. n796=  %n = 0
  799. n797=  :nx
  800. n798=  inc %n
  801. n799=  if $2 = $null set %reason %kickmsg
  802. n800=  else set %reason $2-
  803. n801=  if ($chan(%n) != $null) {
  804. n802=    if ($me isop $chan(%n)) kickall $a3($1) $chan(%n) %reason
  805. n803=    goto nx
  806. n804=  }
  807. n805=}
  808. n806=gkb {
  809. n807=  ; given a nick, kick-ban anyone who matches the address from all channels I'm opped on using reason $2-
  810. n808=  %n = 0
  811. n809=  :nx
  812. n810=  inc %n
  813. n811=  if $2 = $null set %reason %kickmsg
  814. n812=  else set %reason $2-
  815. n813=  if ($chan(%n) != $null) {
  816. n814=    if ($me isop $chan(%n)) kickbanall $a3($1) $chan(%n) %reason
  817. n815=    goto nx
  818. n816=  }
  819. n817=}
  820. n818=kball {
  821. n819=  ; kick-ban everyone that matches address $1 from all channels I'm opped on using reason $2-
  822. n820=  %n = 0
  823. n821=  :nx
  824. n822=  inc %n
  825. n823=  if ($chan(%n) != $null) {
  826. n824=    if ($me isop $chan(%n)) kickbanall $1 $chan(%n) $2-
  827. n825=    goto nx
  828. n826=  } 
  829. n827=}
  830. n828=tb .timer 1 2 mode # -o+b $1 $a3($1) | rtb $a3($1) #
  831. n829=am return $asc($mid($2-,$1,1))
  832. n830=ckmd if (($nick($1,0) = 1) && (%enforcemodes)) emode $1
  833. n831=log if (%log) write $logdirsession.log $realtime $+ , $day $adate $1-
  834. n832=quit {
  835. n833=  if $1 = $null quit %quitmsg
  836. n834=  else quit $1-
  837. n835=}
  838. n836=getlag reply $me LAGCHECK $ctime
  839. n837=kick {
  840. n838=  amiopped $1
  841. n839=  kick $1-
  842. n840=}
  843. n841=mode {
  844. n842=  if (%urd) raw mode $1-
  845. n843=  else mode $1-
  846. n844=}
  847. n845=modeall {
  848. n846=  %i = 0
  849. n847=  :nx
  850. n848=  inc %i
  851. n849=  if $chan(%i) != $null {
  852. n850=    if $me isop $chan(%i) mode $chan(%i) $1-
  853. n851=    goto nx
  854. n852=  }
  855. n853=}
  856. n854=msg {
  857. n855=  if (%urd) raw PRIVMSG $1 : $+ $2-
  858. n856=  else msg $1 $2-
  859. n857=}
  860. n858=notice {
  861. n859=  if (%urd) raw NOTICE $1 : $+ $2-
  862. n860=  else notice $1 $2-
  863. n861=}
  864. n862=topicok if ((+t isin $chan($1).mode) && ($me !isop $1)) { altech -a %dis10 $+ Sorry, $1 is +t and you are not opped | altech -a %dis10 $+ You cannot change the topic :( | dh }
  865. n863=z q $me
  866.